select * from asm_anagrafe_sito_ue where soggetto_ue <> 0;

update asm_anagrafe_sito_ue
set   soggetto_ue = 0;

update asm_anagrafe_sito_ue
set   soggetto_ue = 
(select distinct min(sog_id) from sic4u_ambUE.v_soggetto 
where trim(sog_codfis) = trim(codice_fiscale) AND SOG_FLPFG <> '1'  and az_id = '01'--AND sog_id <= 30168
GROUP BY trim(sog_CODFIS))
where (soggetto_ue = 0 or soggetto_ue is null)
AND   FI_GI = 'F'
;

update asm_anagrafe_sito_ue
set   soggetto_ue = 
(select  DISTINCT MIN(sog_id) from sic4u_ambUE.v_soggetto 
where trim(sog_PARIVA) = trim(PARTITA_IVA) AND SOG_FLPFG <> '0' and az_id = '01'--AND TSOG_ID <> 4 
GROUP BY trim(sog_PARIVA))
where (soggetto_ue = 0 or soggetto_ue is null)
AND   FI_GI = 'G';

update asm_anagrafe_sito_ue X
set   X.utente_db5 = 
(
select DISTINCT MIN(to_number(co.codice_utente))

from db5.contratti@pgu3 co,db5.contratti_aggregazioni@pgu3 ca,db5.persone@pgu3 pe

where co.codice_utente = ca.codice_utente
and   ca.CODICE_PERSONA_UTILIZZATORE = pe.codice_persona
and   ca.CODICE_GESTIONE = 'UNRG'
and   co.CODICE_GESTIONE = 'UNRG'
and   co.CODICE_SERVIZIO = 'E'
and   co.STATO_CONTRATTO = 'A'
AND   PE.PERSONA_FISICA_GIURIDICA = 'F'
AND   PE.CODICE_FISCALE = X.CODICE_FISCALE
GROUP BY PE.CODICE_FISCALE
)
where (X.utente_db5 = 0 or x.utente_db5 is null)
and    x.soggetto_ue is null
AND   FI_GI = 'F';

--************************++
update asm_anagrafe_sito_ue X
set   X.utente_db5 = 
(
select DISTINCT MIN(to_number(co.codice_utente))

from db5.contratti@pgu3 co,db5.contratti_aggregazioni@pgu3 ca,db5.persone@pgu3 pe

where co.codice_utente = ca.codice_utente
and   ca.CODICE_PERSONA_UTILIZZATORE = pe.codice_persona
and   ca.CODICE_GESTIONE = 'UNRG'
and   co.CODICE_GESTIONE = 'UNRG'
and   co.CODICE_SERVIZIO = 'E'
and   co.STATO_CONTRATTO = 'A'
AND   PE.PERSONA_FISICA_GIURIDICA <>'F'
AND   PE.partita_iva = X.partita_iva
GROUP BY PE.partita_iva
)
where (X.utente_db5 = 0 or x.utente_db5 is null)
and    x.soggetto_ue is null
AND   FI_GI <> 'F';


update asm_anagrafe_sito_ue
set   ragione_sociale = 
(select distinct MIN(sog_ragsoc) from sic4u_ambUE.v_soggetto 
where trim(sog_codfis) = trim(codice_fiscale) AND SOG_FLPFG <> '1' --AND TSOG_ID <> 4
GROUP BY trim(sog_CODFIS))
where trim(ragione_sociale) is null
AND   FI_GI = 'F';

update asm_anagrafe_sito_ue
set   ragione_sociale = 
(select  DISTINCT MIN(sog_ragsoc) from sic4u_ambUE.v_soggetto 
where trim(sog_PARIVA) = trim(PARTITA_IVA) AND SOG_FLPFG <> '0' --AND TSOG_ID <> 4 
GROUP BY trim(sog_PARIVA))
where trim(ragione_sociale) is null
AND   FI_GI = 'G';


update asm_anagrafe_sito_ue
set   TELEFONO = 
(select distinct MIN(TRIM(sog_TEL)) from sic4u_ambUE.v_soggetto 
where trim(sog_codfis) = trim(codice_fiscale) AND SOG_FLPFG <> '1' AND TRIM(SOG_TEL) IS NOT NULL
GROUP BY trim(sog_CODFIS))
where trim(TELEFONO) is null
AND   FI_GI = 'F';


update asm_anagrafe_sito_ue
set   TELEFONO = 
(select distinct MIN(TRIM(sog_TEL)) from sic4u_ambUE.v_soggetto 
where trim(sog_PARIVA) = trim(PARTITA_IVA) AND SOG_FLPFG <> '0' AND TRIM(SOG_TEL) IS NOT NULL
GROUP BY trim(sog_PARIVA))
where trim(TELEFONO) is null
AND   FI_GI = 'G';



update asm_anagrafe_sito_ue
set   CELLULARE = 
(select distinct MIN(TRIM(sog_NUMCELL)) from sic4u_ambUE.v_soggetto 
where trim(sog_codfis) = trim(codice_fiscale) AND SOG_FLPFG <> '1' AND TRIM(SOG_NUMCELL) IS NOT NULL
GROUP BY trim(sog_CODFIS))
where trim(CELLULARE) is null
AND   FI_GI = 'F';


update asm_anagrafe_sito_ue
set   CELLULARE = 
(select distinct MIN(TRIM(sog_NUMCELL)) from sic4u_ambUE.v_soggetto 
where trim(sog_PARIVA) = trim(PARTITA_IVA) AND SOG_FLPFG <> '0' AND TRIM(SOG_NUMCELL) IS NOT NULL
GROUP BY trim(sog_PARIVA))
where trim(CELLULARE) is null
AND   FI_GI = 'G';


set   FAX = 
(select distinct MIN(TRIM(sog_FAX)) from sic4u_ambUE.v_soggetto 
where trim(sog_codfis) = trim(codice_fiscale) AND SOG_FLPFG <> '1' AND TRIM(SOG_FAX) IS NOT NULL
GROUP BY trim(sog_CODFIS))
where trim(FAX) is null
AND   FI_GI = 'F';


update asm_anagrafe_sito_ue
set   FAX = 
(select distinct MIN(TRIM(sog_FAX)) from sic4u_ambUE.v_soggetto 
where trim(sog_PARIVA) = trim(PARTITA_IVA) AND SOG_FLPFG <> '0' AND TRIM(SOG_FAX) IS NOT NULL
GROUP BY trim(sog_PARIVA))
where trim(FAX) is null
AND   FI_GI = 'G';



update asm_anagrafe_sito_ue
set   E_MAIL = 
(select distinct MIN(TRIM(sog_EMAIL)) from sic4u_ambUE.v_soggetto 
where trim(sog_codfis) = trim(codice_fiscale) AND SOG_FLPFG <> '1' AND TRIM(SOG_EMAIL) IS NOT NULL
GROUP BY trim(sog_CODFIS))
where trim(E_MAIL) is null
AND   FI_GI = 'F';


update asm_anagrafe_sito_ue
set   E_MAIL = 
(select distinct MIN(TRIM(sog_EMAIL)) from sic4u_ambUE.v_soggetto 
where trim(sog_PARIVA) = trim(PARTITA_IVA) AND SOG_FLPFG <> '0' AND TRIM(SOG_EMAIL) IS NOT NULL
GROUP BY trim(sog_PARIVA))
where trim(E_MAIL) is null
AND   FI_GI = 'G';



update asm_anagrafe_sito_ue X
set   X.ragione_sociale = 
(
select DISTINCT MIN(TRIM(pe.NOMINATIVO_RAG_SOC))

from db5.contratti@pgu3 co,db5.contratti_aggregazioni@pgu3 ca,db5.persone@pgu3 pe

where co.codice_utente = ca.codice_utente
and   ca.CODICE_PERSONA_UTILIZZATORE = pe.codice_persona
and   ca.CODICE_GESTIONE = 'UNRG'
and   co.CODICE_GESTIONE = 'UNRG'
and   co.CODICE_SERVIZIO = 'E'

AND   PE.PERSONA_FISICA_GIURIDICA = 'F'
AND   PE.CODICE_FISCALE = X.CODICE_FISCALE
GROUP BY PE.CODICE_FISCALE
)
where trim(X.RAGIONE_SOCIALE) is null
AND   FI_GI = 'F';


update asm_anagrafe_sito_ue X
set   X.ragione_sociale = 
(
select DISTINCT MIN(TRIM(pe.NOMINATIVO_RAG_SOC))

from db5.contratti@pgu3 co,db5.contratti_aggregazioni@pgu3 ca,db5.persone@pgu3 pe

where co.codice_utente = ca.codice_utente
and   ca.CODICE_PERSONA_UTILIZZATORE = pe.codice_persona
and   ca.CODICE_GESTIONE = 'UNRG'
and   co.CODICE_GESTIONE = 'UNRG'
and   co.CODICE_SERVIZIO = 'E'

AND   PE.PERSONA_FISICA_GIURIDICA <> 'F'
AND   PE.PARTITA_IVA = X.PARTITA_IVA
GROUP BY PE.PARTITA_IVA
)
where trim(X.RAGIONE_SOCIALE) is null
AND   FI_GI <> 'F';




update asm_anagrafe_sito_ue X
set   X.TELEFONO = 
(
select 
DISTINCT MIN(TRIM(case when substr(replace(te.NUMERO_TELEFONICO,' ',''),1,1) = '0' then replace(te.NUMERO_TELEFONICO,' ','') end))

from db5.contratti@pgu3 co,db5.contratti_aggregazioni@pgu3 ca,db5.persone@pgu3 pe,db5.dispositivi_telefonici@pgu3 te

where co.codice_utente = ca.codice_utente
and   ca.CODICE_PERSONA_UTILIZZATORE = pe.codice_persona
and   ca.CODICE_GESTIONE = 'UNRG'
and   co.CODICE_GESTIONE = 'UNRG'
and   co.CODICE_SERVIZIO = 'E'

and   pe.codice_persona = te.codice_persona
AND   PE.PERSONA_FISICA_GIURIDICA = 'F'
AND   PE.CODICE_FISCALE = X.CODICE_FISCALE
GROUP BY PE.CODICE_FISCALE
)
where TRIM(X.TELEFONO) is null
AND   FI_GI = 'F';



select x.*,dbms_random.string ('A',8) num from asm_anagrafe_sito_ue x
where x.RAGIONE_SOCIALE is not null
;

































select * from asm_anagrafe_sito_ue ;







